#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int sushu(int m);
int prime(int n)
{
  int i,ret,x,y,a[20]={0},m=0,q=0,b[20]={1},k=0;
  x=n;
  for(i=2;i<=x;i++)
  {
      if(x%i==0)
      {
          ret=sushu(i);
          if(ret==1)
            {
                for(m=0;m<20;m++)
                {
                    if(i==a[m])
                    {
                      b[m]=b[m]+1;
                      break;
                    }
                    else
                    {
                      a[q]=i;
                      q++;
                      break;
                    }
                }
            }
            x=x/i;
            i=1;
            if(x==1)
                break;
      }
  }
  printf("%d=",n);
   for(i=0;i<q;i++)
      {
          printf("%d^%d*",a[i],b[i+1]);
      }
}
int sushu(int m)
{
  int i,j;
  for(i=2;i<=sqrt(m);i++)
  {
      if(m%i==0)
        break;
  }
  if(i>sqrt(m))
    return 1;
  else
    return 0;
}
int main()
{
    long int n;
    scanf("%ld",&n);
    prime(n);
   return 0;
}
